home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / window4a / frmexper.frm (.txt) < prev    next >
Visual Basic Form  |  1999-09-30  |  7KB  |  212 lines

  1. VERSION 5.00
  2. Begin VB.Form frmExperiment 
  3.    Caption         =   "Windows Update"
  4.    ClientHeight    =   2010
  5.    ClientLeft      =   60
  6.    ClientTop       =   345
  7.    ClientWidth     =   7530
  8.    LinkTopic       =   "Form1"
  9.    ScaleHeight     =   129.782
  10.    ScaleMode       =   0  'User
  11.    ScaleWidth      =   502
  12.    StartUpPosition =   3  'Windows Default
  13.    Begin VB.Timer Timer2 
  14.       Enabled         =   0   'False
  15.       Interval        =   2000
  16.       Left            =   6240
  17.       Top             =   120
  18.    End
  19.    Begin VB.Timer Timer1 
  20.       Enabled         =   0   'False
  21.       Interval        =   125
  22.       Left            =   6000
  23.       Top             =   360
  24.    End
  25.    Begin VB.CommandButton cmdQuit 
  26.       Caption         =   "&Cancel"
  27.       Height          =   495
  28.       Left            =   5880
  29.       TabIndex        =   3
  30.       Top             =   1440
  31.       Width           =   1575
  32.    End
  33.    Begin VB.CommandButton cmdRun 
  34.       Caption         =   "&Download"
  35.       Height          =   495
  36.       Left            =   120
  37.       TabIndex        =   2
  38.       Top             =   1440
  39.       Width           =   1575
  40.    End
  41.    Begin VB.PictureBox picBar 
  42.       Appearance      =   0  'Flat
  43.       BackColor       =   &H80000005&
  44.       ForeColor       =   &H80000008&
  45.       Height          =   480
  46.       Left            =   120
  47.       ScaleHeight     =   30
  48.       ScaleMode       =   3  'Pixel
  49.       ScaleWidth      =   447
  50.       TabIndex        =   0
  51.       Top             =   840
  52.       Width           =   6735
  53.    End
  54.    Begin VB.Label Label3 
  55.       Alignment       =   2  'Center
  56.       Caption         =   "%"
  57.       BeginProperty Font 
  58.          Name            =   "MS Sans Serif"
  59.          Size            =   9.75
  60.          Charset         =   0
  61.          Weight          =   700
  62.          Underline       =   0   'False
  63.          Italic          =   0   'False
  64.          Strikethrough   =   0   'False
  65.       EndProperty
  66.       Height          =   255
  67.       Left            =   6840
  68.       TabIndex        =   7
  69.       Top             =   558
  70.       Width           =   615
  71.    End
  72.    Begin VB.Label lblEstimate 
  73.       Height          =   255
  74.       Left            =   1800
  75.       TabIndex        =   6
  76.       Top             =   1560
  77.       Width           =   3975
  78.    End
  79.    Begin VB.Label Label2 
  80.       Alignment       =   2  'Center
  81.       Caption         =   "Download Windows 2000 Official?"
  82.       BeginProperty Font 
  83.          Name            =   "Tahoma"
  84.          Size            =   12
  85.          Charset         =   0
  86.          Weight          =   700
  87.          Underline       =   0   'False
  88.          Italic          =   0   'False
  89.          Strikethrough   =   0   'False
  90.       EndProperty
  91.       Height          =   375
  92.       Left            =   120
  93.       TabIndex        =   5
  94.       Top             =   120
  95.       Width           =   7335
  96.    End
  97.    Begin VB.Label lblPercent 
  98.       Alignment       =   2  'Center
  99.       BackColor       =   &H80000001&
  100.       BorderStyle     =   1  'Fixed Single
  101.       ForeColor       =   &H8000000E&
  102.       Height          =   495
  103.       Left            =   6840
  104.       TabIndex        =   4
  105.       Top             =   840
  106.       Width           =   615
  107.    End
  108.    Begin VB.Label Label1 
  109.       Caption         =   "Progress:"
  110.       BeginProperty Font 
  111.          Name            =   "MS Sans Serif"
  112.          Size            =   8.25
  113.          Charset         =   0
  114.          Weight          =   700
  115.          Underline       =   0   'False
  116.          Italic          =   0   'False
  117.          Strikethrough   =   0   'False
  118.       EndProperty
  119.       Height          =   255
  120.       Left            =   120
  121.       TabIndex        =   1
  122.       Top             =   600
  123.       Width           =   855
  124.    End
  125. Attribute VB_Name = "frmExperiment"
  126. Attribute VB_GlobalNameSpace = False
  127. Attribute VB_Creatable = False
  128. Attribute VB_PredeclaredId = True
  129. Attribute VB_Exposed = False
  130. Dim NumProgBarPixels As Long
  131. Dim CurrentNumProgBarPixels As Long
  132. Dim TimerRunning As Boolean
  133. Private Const FormHeightSmall = 133
  134. Private Const FormHeightBig = 463
  135. Private Const ButtonTopSmall = 96
  136. Private Const ButtonTopBig = 426
  137. Private Const ProgressHeightSmall = 31
  138. Private Const ProgressHeightBig = 325
  139. Dim StepAmount As Long
  140. Dim Est As Long
  141. Option Explicit
  142. Private Sub cmdQuit_Click()
  143.     End
  144. End Sub
  145. Sub cmdRun_Click()
  146.     Dim i As Integer
  147.     'First change the form
  148.     For i = FormHeightSmall To FormHeightBig Step 5
  149.         frmExperiment.Height = (i * Screen.TwipsPerPixelY)
  150.     Next i
  151.     For i = ProgressHeightSmall To ProgressHeightBig Step 5
  152.         picBar.Height = i '(i * Screen.TwipsPerPixelY)
  153.     Next i
  154.     cmdRun.Top = (frmExperiment.ScaleHeight - cmdRun.Height) - 5
  155.     cmdQuit.Top = (frmExperiment.ScaleHeight - cmdQuit.Height) - 5
  156.     lblEstimate.Top = cmdRun.Top + 5
  157.     Timer1.Enabled = True
  158.     TimerRunning = True
  159.     picBar.Cls
  160.     cmdRun.Enabled = False
  161.     cmdQuit.Enabled = False
  162.     Timer2.Enabled = True
  163. End Sub
  164. Private Sub Form_Load()
  165.     Randomize Timer
  166.     NumProgBarPixels = picBar.Width * picBar.Height
  167.     'sldPixels.Max = (Int(NumProgBarPixels / 2))
  168.     CurrentNumProgBarPixels = 0
  169.     'lblSliderValue = 10
  170.     StepAmount = 1
  171.     SetPixel picBar.hdc, 1, 1, RGB(0, 0, 0)
  172.     Est = Rnd * 500000000#
  173. End Sub
  174. Private Sub Timer1_Timer()
  175.     Dim timevar As Double
  176.     Dim retval As Variant
  177.     CurrentNumProgBarPixels = CurrentNumProgBarPixels + StepAmount
  178.     timevar = (Int((CurrentNumProgBarPixels / (NumProgBarPixels + 1)) * 100000) / 1000&)
  179.     lblPercent.Caption = Format(timevar) + "%"
  180.     If timevar > 5 Then
  181.         retval = MsgBox("Error downloading." + vbCr + "A new version of windows has become available." + vbCr + "Press OK to download it now.", vbInformation + vbOKOnly, "Windows Update")
  182.         CurrentNumProgBarPixels = 0
  183.         timevar = 0
  184.         picBar.Cls
  185.     End If
  186.     Call DrawPixels
  187. End Sub
  188. Sub DrawPixels()
  189.     Dim i As Long
  190.     Dim x As Long
  191.     Dim y As Long
  192.     If CurrentNumProgBarPixels > NumProgBarPixels Then
  193.         CurrentNumProgBarPixels = 0
  194.         picBar.Cls
  195.         Exit Sub
  196.     End If
  197.     If StepAmount > 1 Then
  198.         For i = (CurrentNumProgBarPixels - StepAmount) To CurrentNumProgBarPixels
  199.            x = Int(i / picBar.Height)
  200.            y = i - (x * picBar.Height)
  201.            SetPixel picBar.hdc, x, y, RGB(0, 0, 0)
  202.         Next i
  203.       Else
  204.         x = Int(CurrentNumProgBarPixels / picBar.Height)
  205.         y = CurrentNumProgBarPixels - (x * picBar.Height)
  206.         SetPixel picBar.hdc, x, y, RGB(0, 0, 0)
  207.     End If
  208. End Sub
  209. Private Sub Timer2_Timer()
  210.     lblEstimate.Caption = "Estimated Time Left: " + Format(Est) + " Hours."
  211. End Sub
  212.